package adventure.room;

import adventure.placeable.Item;
import adventure.placeable.Mobile;
import adventure.placeable.trigger.Trigger;

/**
 *
 * @author Michael Hanns
 *
 */
public interface RoomManagerEdit extends RoomManager {

    public void setStartArea(int x, int y, int z);

    public String getRoomLitTitle(int x, int y, int z);

    public String getRoomLitDescription(int x, int y, int z);

    public String getClosed(int x, int y, int z);

    public String getLocked(int x, int y, int z);

    public String getBlocked(int x, int y, int z);

    public int getCurrencyContents(int x, int y, int z);

    public boolean getRoomLowLight(int x, int y, int z);

    public int getTicksUntilRepop(int x, int y, int z);
    
    public int getItemIDAtPosition(int x, int y, int z, int position);
    
    public int getMobileIDAtPosition(int x, int y, int z, int position);

    public int getTriggerIDAtPosition(int x, int y, int z, int position);

    public boolean newRoom(int x, int y, int z);

    public boolean newRoom(RoomEdit r, int x, int y, int z);

    public boolean copyRoom(int sx, int sy, int sz, int dx, int dy, int dz);

    public boolean editRoom(int x, int y, int z, String field, String val);

    public boolean editRoom(int x, int y, int z, String field, int val);

    public boolean editRoom(int x, int y, int z, String field, boolean val);

    public boolean deleteRoom(int x, int y, int z);
    
    public boolean moveRoom(int sx, int sy, int sz, int dx, int dy, int dz);

    public void addItemToRoom(Item i, int x, int y, int z);

    public void addMobileToRoom(Mobile m, int x, int y, int z);

    public void addTriggerToRoom(Trigger t, int x, int y, int z);

    public void removeItemFromRoom(int id, int x, int y, int z);

    public void removeMobileFromRoom(int id, int x, int y, int z);

    public void removeTriggerFromRoom(int id, int x, int y, int z);

    public void removeItemFromRoomAtIndex(int index, int x, int y, int z);

    public void removeMobileFromRoomAtIndex(int index, int x, int y, int z);

    public void removeTriggerFromRoomAtIndex(int index, int x, int y, int z);
    
    public RoomManager cloneThis();
}
